import axios from 'axios';

const http = axios.create({
    // 配置请求头
    headers: {'Content-type': 'application/x-www-form-urlencoded;charset=UTF-8'}
})

// 请求拦截
http.interceptors.request.use(function(config){
    // 在发送请求之前做些什么
    // 如：添加token之类的
    // 如果url不包含login（不是登录接口）
    // 则在请求头里添加凭证
    // 为什么要添加凭证？
    // console.log('localStorage-token',localStorage.getItem('token'));
    if(config.url.indexOf('login') != -1){
        config.headers.token = localStorage.getItem('token');
    }
    // console.log('config',config);
    return config;
},function(error){
    // 对请求错误做些什么
    return Promise.reject(error);
})

// 响应拦截
http.interceptors.response.use(function(response){
    // 2xx范围内的状态码都会触发该函数
    // 对响应数据做些什么
    let res = response.data;
    return res;
},function(error){
    // 超出2xx范围的状态码都会触发该函数
    if(error.message.indexOf('403') != -1){
        console.log('权限问题');
    }
    if(error.message.indexOf('500') != -1){
        console.log('服务器内部问题');
    }
    return Promise.reject(error);
})

// 导出
export default http;